Delta Tuning1 - 论文精读学习笔记

Delta Tuning: A Comprehensive Study of Parameter Efficient Methods for Pre-trained Language Models标签:Parameter-Efficient Fine-Tuning
论文链接:Delta Tuning: A Comprehensive Study of Parameter Efficient Methods for Pre-trained Language Models
发表时间:2022
Cook
Published: 2024.09.17 | Last Updated: 2024.09.23

You are what you eat.
And I'm cooking what I eat!
:)

More food...🍜

目录

提前说明:本系列博文主要是对参考博文的解读与重述(对重点信息进行标记、或者整段摘录加深自己的记忆和理解、融合多个博文的精髓、统合不同的代表性的案例),仅做学习记录笔记使用。与君共享,希望一同进步。

 

全文概述

预训练语言模型(Pre-trained Language Models PLMs)已成为各种NLP任务的基础,同时,新兴研究的证据不断证明,更大的模型往往会产生更好的性能。研究人员也因此热衷于预训练微调范式,但微调大规模PLMs带来了高昂的适配成本在这样的背景下,一种新的模型适配方案——参数高效(Parameter-efficient)方法逐渐受到关注。不同于标准微调,参数高效调优只对模型参数的一小部分进行微调,而其余部分保持不变,从而大大降低计算和存储成本,同时还有着可以媲美全参数微调的性能。本文认为这些方法本质上都是在一个增量(Delta Parameter)上进行调整,因此从形态学的角度提出了一个新的术语delta tuning来指代原来的“参数高效调优”

本文首先正式描述了增量调优问题,回顾了最近的增量调优方法;然后给出了一个统一的分类标准,将现有的增量调优方法分为三组:增量式、指定式和重参数化方法;本文还分别从优化和最优控制两个角度提出了delta tuning的理论分析。此外,本文还对代表性方法进行了全面的实验对比,其中超过100个NLP任务的结果展示了不同方法的综合性能比较。实验结果涵盖了对delta tuning的性能表现、收敛表现、高效性表现、规模性表现、泛化表现、迁移性表现的研究分析。另外,本文还开发了一个开源工具包OpenDelta,使从业者能够高效、灵活地在PLMs上实现Delta Tuning。最后,本文还讨论了现实世界中delta tuning的应用。

问题定义

随着PLMs模型参数规模的增加,调整一个庞大模型的所有参数并为不同的任务保留单独的实例实际上是不可行的。如何有效地使大型模型适应特定的下游任务成为一个新的研究分支。

本文手动统计了最近5次NLP会议的1000篇已发表论文中PLMs的使用情况,结果显示只有0.5% ~ 4%的研究论文在实验中实际采用了大型PLMs,详见Figure 1 。这表明,研究者仅在中小规模模型上验证自己的方法,而习惯性地忽略大规模模型,这限制了NLP研究的发展。

image-20240923161413995

图1. NLP会议论文PLMs的使用情况

因此,本文提出delta tuning来指代参数高效微调的方法,使得在微调大模型时能够降低计算和存储成本。

Delta Tuning是什么?

本质是在一小部分的参数进行调整。

名称 一种新的模型适配方案——参数高效(Parameter-efficient)方法逐渐受到关注,与标准全参数微调相比,这些方法仅微调模型参数的一小部分,而其余部分保持不变,大大降低了计算和存储成本,同时还有着可以媲美全参数微调的性能。研究者认为,这些方法本质上都是在一个「增量」(Delta Paremters)上进行调整,因此将它命名为 Delta Tuning。

现有的Delta Tuning 方法

现有 Delta Tuning 方法可以被分为三组:

1 增量式(Addition-based):重新增加一组参数。

常见的增量式方法包括Adapter-TuningPrefix TuningPrompt Tuning等等。将小规模的神经模块或者可调参数插入到模型中,并且通过只微调这一小部分参数来达到模型高效适配的效果。

  • 其中 Adapter-tuning 是这类方法的开创性工作,它证明仅仅在每一层添加一个简单的神经网络,就可以在很多任务上媲美全参数微调。

  • Prompt Tuning 可以视为 Prefix Tuning 的简化版,即只在输入层添加 Soft Prompt,这种做法有一个非常大的好处,就是不用修改模型内部的结构。

2 指定式(Specification-based):指定微调哪一部分参数。

3 重参数化(Reparameterization):指定对哪一部分的参数进行重新设计。

所谓适配器(adapter)是指在预训练网络层之间添加的新模块

基于适配器的调优和基于特征的迁移及微调有一些不同:

(1)基于特征的迁移: χv(ϕw(x)),训练一个新的函数 χv,只有新的参数 v 被训练。

(2)微调:调整原来的参数 w

而基于adapter的调优则是,ψw,v(x)w 拷贝来自预训练的参数,v 初始化为使得和原始网络 ϕw(x) 相似。训练时只有 v 被调整

前缀微调(prefix-tunning),用于生成任务的轻量微调。

image-20240918104302799

Li X L, Liang P. Prefix-tuning: Optimizing continuous prompts for generation[J]. arXiv preprint arXiv:2101.00190, 2021.

image-20240918104950010

He J, Zhou C, Ma X, et al. Towards a unified view of parameter-efficient transfer learning[J]. arXiv preprint arXiv:2110.04366, 2021.

image-20240918105250987

 

背景

Transformer

由于几乎所有主流PLMs都是基于Transformer (Vaswani et al ., 2017)模型开发的,而且delta tuning通常对Transformer模型进行操作,因此本文对Transformer模型进行了初步介绍。

image-20240923161805534

图2. Transformer

预训练语言模型

预训练语言模型大多基于Transformer架构,它们通常采用不同的具体结构,例如,仅使用Encoder或Decoder,或两者都使用。本文简要回顾了与不同建模策略相关的一些流行的PLMs。

image-20240923162058061

图3. 预训练模型的类别

掩码语言模型(Masked Language Modeling)

是一种基于Transformer编码器的双向模型,具有代表性的模型有BERT,RoBERTa等。基本思想是将输入的句子中的若干词用[MASK]遮盖起来,然后通过其他可见的词,来预测被遮盖的到底是哪些词。通常用于做自然语言理解任务。

自回归语言模型(Auto-regressive Language Modeling)

是一种仅基于Transformer解码器的语言模型,代表模型有GPT系列等。基本思想是通过上文语境来预测下一个token。通常用于做自然语言生成任务。

Sequence to Sequence Modeling

是一种建立在完整的Transformer架构之上的序列到序列模型,代表模型有T5,BART等。基本思想是在Encoder阶段用单个mask token随机替换任意长度的文本序列,然后在Decoder阶段让模型填充原始的tokens。作为双向编码器和自回归解码器的结合,序列到序列模型在语言理解和生成任务中都很强大。

 

方法

Delta Tuning 在做什么?

它们似乎都在不约而同地证明一件事情:即大模型的适配过程似乎是一个非常低消耗的过程(相比于预训练),它可以通过非常少的数据和非常少的参数调整来完成

概念定义

给定一个预训练模型 Θ={w1,w2,,wN} 和训练数据 D,PLMs适配的目标是生成一个模型的参数为 Θ={w1,w2,,wN}。将 ΔΘ=ΘΘ 定义为在原始模型 Θ 之上的操作。

在传统的全参数微调中,有N=M,其中 ΔΘ=fΘ(D),是 Θ 中所有参数相对于训练数据的更新值,并且有 |ΔΘ|=|Θ| (这里 || 表示参数个数)。

在delta tuning中,ΔΘ则是修改少量参数,有 |ΔΘ||Θ|

根据对增量参数的操作,本文将增量调优方法分为三类:增量式方法、指定式方法、重参数化方法。

image-20240923163517629

图4. delta tuning的类别

增量式方法(Addition-based)

增量式方法引入了原始模型或过程中不存在的额外可训练的神经模块或参数,并且通过只微调这一小部分参数来达到模型高效适配的效果。常见的增量式方法包括Adapter-Tuning,Prefix Tuning,Prompt Tuning等。

image-20240923163615056

用数学表示定义如下:

在这种方法下,有MN,ΔΘ={wN+1,wN+2,...,wM}

Adapters-based Tuning

基于适配器的方法将小规模神经模块(Adapter)注入Transformer层,并且仅调优这些适配器以适应模型。在每个Transformer块中,分别在多头自注意模块和前馈神经层之后插入Adapter。下图显示了适配器的体系结构,以及它在Transformer中的应用:

image-20240923163907727

非本文图. Adapter的系统结构及在Transformer中的应用

Adapter包含一个向下投影和一个向上投影。对于一个 d 维的输入特征 h,通过一个参数矩阵 WdRd×r 向下投影成一个更小的 r 维空间(这里 rd);然后经过一个非线性函数 f();再通过向上投影 Wur 维表示映射回 d 维空间;最后再加上残差。整个过程可以用以下公式表示:

(1)hf(hWd)Wu+h.

该方法将每个Transformer层的可调参数减少到 2×(2dr()+d()+r()),实际应用上,该方法用到了0.5%~8%的参数参与调优。

总结:适配器是轻量级的附加神经模块,可以按照特定于任务的风格进行训练。在计算效率方面,适配器的训练可能比普通的微调快60%,并且具有更好的鲁棒性,在few-shot和跨语言场景下比传统微调表现得更好(He等人,2021),并且在对抗性攻击下更稳健。

Prompt-based Tuning

基于提示的方法用附加上下文包装原始输入,提示学习作为一种通过模仿下游任务中的预训练目标来刺激预训练语言模型的策略,在各种NLP任务中取得了良好的表现。

Prefix Tuning为每个Transformer层的输入和隐藏状态添加可训练的连续tokens(称为前缀)。每个前缀都从新初始化的可训练参数矩阵 P 中提取。

image-20240923164605961

非本文图. Prefix Tuning

Prompt tuning提出了一种更简化的策略,仅向输入层添加软提示(soft prompts)。同样的,这里新引入的提示是一个额外的参数矩阵。在训练过程中,采用梯度下降法更新软提示参数,同时保持模型参数不变。

总结:尽管基于提示的方法在适应大型预训练模型方面表现出很好的前景,但提示调优很难优化。并且在训练期间,软提示方法的收敛速度明显慢于全参数微调和其他增量调优方法。

指定式方法(Specification-based)

指定式方法不改变模型的内部结构,仅优化少量的内部参数,并保持大多数参数不变。

image-20240923164719853

用数学表示定义如下: 将可训练参数集合表示为 W,此时更新的参数表示为:ΔΘ={Δw1,Δw2,,ΔwN},当 wiW (说明这个参数属于可训练参数),Δwi 就代表从 wiwi的增量值,否则, Δwi=0

启发式(Heuristic Specification)

这种方法下直接指定需要优化的部分参数。其中具有代表性的方法有BitFit (Zaken et al ., 2021),仅优化模型内部的偏置(bias) 并冻结其他参数,也能在几个基准测试中再现95%以上的性能。

学习式(Learn the Specification)

通过“学习”来指定需要优化的部分参数。具有代表性的方法有diff pruning (Guo et al., 2021),将微调后的模型参数Θ重新参数化为预训练参数 Θ 与差分向量 ΔΘ 的总和(即:Θ=Θ+ΔΘ ,然后找寻最稀疏的差分向量 ΔΘ。不过该方法在学习阶段引入了需要优化的新参数,会比全参数微调占用更多的GPU内存。

另一种掩蔽方法(The masking method Zhao et al ., 2020)学习PLMs的选择性掩码,仅更新特定任务的关键权重。

重参数化方法(Reparameterization-based)

基于重新参数化的方法通过转换,将现有参数重新参数化为参数有效的形式。Delta tuning的这一分支通常是由一个假设所驱动,即PLM对大多数下游任务的适应本质上是低秩的,因此可以以参数有效的方式完成。

image-20240923165233578

用数学表示定义如下:

将要重参数化的参数集合表示为 W,假设每个 wiW(需要进行重参数化的参数)都用新参数 R(wi)={u1,u2,,uNi}来表示,那么更新的参数就可表示为:ΔΘ=(ΘW)U为集合中的减法),其中 U={uj|wiW,ujR(wi)}

针对这一方法有以下三项工作:

Intrinsic Dimensions of PLM Adaptation PLM适应的内在维度

经验表明,预训练模型的全参数微调过程可以被重新参数化为低维子空间内的优化,即:可以通过仅微调子空间内的参数就达到令人满意的性能,并且可以减少计算量和内存成本。

Intrinsic Rank of Weight Differences 权重差的内在秩

LoRA (Hu等人,2021a)假设模型调优过程中权重的变化具有较低的内在秩。基于这一假设,他们提出对自注意力模块中原始权矩阵的变化进行低秩分解优化。

image-20240923165901228

Intrinsic Space of Multiple Adaptations 多重适应的内在空间

Qin等人(2021b)提出了一个更强的假设,即对多个任务的适应可以重新参数化为同一低维内在子空间内的优化。在这种假设下,仅仅调整子空间的参数就可以同时在 100 多个 NLP 任务上达到令人满意的效果。

 

Delta Tuning的理论分析

优化角度

从优化角度来说,Delta tuning是在一个解空间、函数空间,寻找低维表示的一个过程。

本文分析 Delta Tuning 的效果并讨论了在低维假设下的一些 Delta Tuning 方法的设计。使用 Delta Tuning 后,目标函数及其所依赖的参数都可能会发生改变。

对新的目标函数,仅优化其与 Delta Tuning 有关的参数,如果初值足够好,在一定假设意义下模型的性能不会有大的损害。但是为了确保 Delta Tuning 的有效性,有必要去开发问题的结构来设计这个新的目标函数。一般而言,在实践中有两种思路被证明是有用的:

最优控制角度

参考定理:神经网络的反向传播等价于在最优控制中去寻找最优控制器的过程。本文指出delta tuning可以看作是为特定下游任务寻求 PLMs 的最佳控制器的过程,并对各种delta tuning方法推导出寻找最优控制器的过程。

 

实验

本文对delta tuning的性能表现、收敛表现、高效性表现、规模性表现、泛化表现、迁移性表现进行了研究分析。

实验设置

本文主要评估了传统全参数微调(FT)和四种代表性的增量调优方法,包括:提示调优(PT),前缀调优(PF), LoRA (LR)和适配器(AP)。

为了涵盖广泛而多样的NLP任务,本文从Huggingface数据集中随机选择了100多个具有代表性的任务。所选任务包括文本分类(如:情感分析和自然语言推理)、问题回答(如:机器阅读理解和选择题回答)、条件生成(如:摘要和对话)等。

本文选用T5BASE (rafael等人,2019)作为不同调优方法的主要评估PLMs主干,我们还报告了T5LARGE 的PT性能(rafael等人,2019)。

同时,各delta tuning方法的设置如下:

PF:使用5个前缀tokens;

PT:在输入向量中加入100个可调soft tokens;

LR:将多头注意力模块中的所有查询矩阵q和值矩阵v重新参数化为低秩分解,并设置秩为8;

AP:在每个Transformer层的多头注意力模块和前馈网络中同时插入适配器模块,将瓶颈维度设置为64,并选择SiLU (Elfwing et al, 2018)作为激活函数。

实验结果分析

性能分析

image-20240923170457450

(1) 一般来说,由于不同的delta tuning方法显著减少了可调参数的数量,因此在大多数情况下,它们在性能上都无法与FT相媲美。但参数高效适配仍具有大规模应用的潜力。

(2) 平均结果显示,所有方法的性能排名为FT > LR > AP > PF > PT。另外,在小型PLMs上,更多的可调参数并不一定导致更好的性能,增量调优结构的设计可能发挥更大的作用。

(3) PT作为这些方法中最容易实现的(即不修改模型的内部结构),在 T5BASE 上进行实验时,在大多数情况下远远落后于其他增量调优方法。但当模型尺寸扩大到 T5LARGE 时,可以观察到更好的PT性能。

收敛分析

本文通过可视化不同的增量调优方法(LR、AP、PF)和全参数微调(FT)在不同训练步骤下的性能,来比较它们的收敛速度。

image-20240923171801404

图8. 在T5BASE模型中FT,LR,AP,PF调优方法的性能表现

(1) 总的来说,这些调优方法的收敛速率依次为:FT > AP≈LR > PF。(PT在收敛速度和性能上都远远落后于其他调优方法,因此本文没有在图中可视化它)

(2) 对于每种delta tuning方法,在一个合理的宽范围内,性能和收敛对可调参数的数量不敏感,但对方法的结构更敏感。比如,PF具有所有delta tuning方法中最多的可调参数(7.93%),但它仍然面临一些收敛困难。

(3) 随着PLMs规模的扩大,delta tuning的收敛速度也在加快。

效率分析

Delta tuning可以减少梯度计算,从而节省GPU内存。本文对比了不同delta tuning方法和不同PLMs规模的微调所消耗的GPU内存。我们选择T5模型的 T5BASET5LARGET5XL三种规模,测试不同批处理规模下的GPU内存峰值。

image-20240923171729800

图9. 各delta tuning方法所消耗的GPU内存

(1) 在小批量(例如1,8)下,delta tuning最多可以节省3/4的GPU内存;而在大批量(例如64)下,增量调优至少可以节省1/3的GPU内存。体现出delta tuning在计算资源上的高效。

 

比较 Delta TuningFine tuning

效率分析

全参数Fine-tuning和四种具有代表性的Delta Tuning方法(包括Prompt Tuning(PT)、Prefix-Tuning(PF)、LoRA(LR)和Adapter(AP))对性能、收敛性和效率分析进行了彻底的比较。

image-20240918105702634

结论

根据平均结果,所有方法的性能排名为 FT > LR > AP > PF > PT

同时,研究者也发现,Delta Tuning 方法的性能与其可调参数的数量并不一致,即更多可调参数不一定会带来更好的性能,相比之下,Delta Tuning 的具体结构设计可能会发挥作用更大的作用。

PT 作为这些方法中最容易实现的方法(即不修改模型的内部结构),在大多数情况下,它的性能是远远落后于其他 Delta Tuning 方法的。

这些微调方法的收敛速度排序为: FT > AP ≈ LR > PF 

在实验中还发现,对于每种 Delta Tuning 方法,性能和收敛性都对可调参数的数量不敏感,相比之下,对具体的结构更敏感。

 

Delta tuning的可组合性

考虑到不同的delta tuning方法是相互兼容的,这意味着它们可以一起应用在同一个PLM上,因此本文研究了这种组合是否会带来额外的好处。具体来说,本文评估了同时组合和顺序组合。并且选用了三种具有代表性的delta tuning方法,包括prompt tuning, BitFit, and adapter。

同时组合(simultaneous combination)

这是对多种 Delta Tuning 的方式采用同时组合的方式,prompt tuning, bit fit 和 Adapter。

使用RoBERTaLARGE (Liu et al ., 2019)和T5BASE在8个GLUE任务上进行实验。本文在full-data和few-shot场景下均进行实验,并且探索了人工输入模版对于性能的影响。从下表可以得出以下结论:

给出的实验结论是:从上表可以看出,

(1) 无论在全量数据还是低资源场景下,无论是否存在手动模板,在 Delta Tuning 的组合中引入 Adapter 几乎总是有助于平均 GLUE 性能;

(2) 在组合中引入 Prompt Tuning 通常会损害平均性能,表明 Prompt Tuning 可能与其他两种 Delta Tuning 方法不兼容;

(3) 在组合中引入 BitFit 一般会提高平均性能;

(4) 手动模板可以通过缩小下游任务适应和预训练之间的差距显著提高 zero-shot 性能(从 23.7 到 43.4)。

在 few-shot 设置下,人工模板也可以明显提高平均性能。然而,当训练监督信号相对比较丰富时(全量数据场景下),引入人工模板仅表现出微弱的性能提升,甚至有可能损害性能。

 

顺序组合(sequential combination)

具体来说,他们将整个微调分为 了3 个阶段。在每个阶段,研究者训练一个单独的 Delta Tuning 方法;在接下来的阶段中,他们固定前面阶段训练得到的 Delta Tuning 参数不动 ,只优化新引入的 Delta Tuning 参数。

实验结论:不存在固定的最优组合顺序。

除了同时组合之外,本文还进一步研究了上述三种 的delta tuning方法按照一定顺序引入时的兼容性。具体来说,将整个微调分为 了3 个阶段。在每个阶段,研究者训练一个单独的delta tuning方法;在接下来的阶段中,他们固定前面阶段训练得到的delta tuning参数不动 ,只优化新引入的 delta tuning参数。

本文在SST-2 (Socher et al, 2013)上使用/不使用手动模板对RoBERTaLARGE进行了实验。

image-20240923171338461

图10. 各顺序组合方式的性能表现

(1) 在某些情况下,可以通过不断引入新的delta tuning方法,整体性能能够不断提高,从而验证了顺序组合的优势;

(2) 在不同的设置下,不存在固定最优的组合顺序。最优的组合方式可能会因为不同的下游任务、使用的模型架构等因素而变化。

泛化差距分析

各种微调方法对训练数据的记忆能力(Memorization)和泛化能力(Generalization)不尽相同。为此,本文报告了RoBERTaLARGE 在全量数据设置下的泛化差距(训练集效果 - 开发集效果),结果如下表所示:

image-20240923171951065

(1) 单个delta tuning方法的泛化差距总是小于Fine-tuning,这意味着过度参数化可能有助于更好地记忆(过拟合)训练样本。在所有delta tuning 方法中,Prompt Tuning 往往具有最小的泛化差距。

(2) 一般来说,组合几个delta tuning方法会增大泛化差距,甚至达到与全 Fine-tuning 相当的程度。这表明,记住训练集(Memorization)可能不需要微调过多;

(3) 使用人工模板一般不会影响泛化差距。

总结:不同的delta tuning方法对PLMs的优化功能各不相同,将它们结合起来通常有利于提升下游性能。然而,不同的PLMs可能倾向于不同的增量调优组合,并且在不同的设置下,delta tuning的最佳组合可能会有很大差异。

 

模型规模变化给出的实验结论

随着使用的 PLM 的模型规模增长,Prompt Tuning 的性能会越来越强,甚至可以达到和全参数 Fine-tuning 微调相匹敌的水平。因此,本文探讨其他delta tuning方法是否也表现出这种规模的力量。

本文对MNLI (Williams et al, 2018)、QNLI和SST-2的任务进行了实验,并选择了三个尺寸不断增加的PLMs (T5SMALL、T5BASE、T5XXL),并评估了六种代表性的delta tuning方法(Adapter、LoRA、prefix tuning、prompt tuning、最后一层调优和选择性模块调优)的性能。

image-20240923172104962

图11. 随模型规模增长的性能变化

(1) 随着PLMs模型规模的增大,各delta tuning方法的性能和收敛性均有显著提高;本文猜测这种现象的存在是因为,较大的 PLMs 通常具有较小的内在维度(Intrinsic Dimension),因此,仅调整很少的参数即可获得足够强的表示能力,从而在下游任务中实现非平凡的性能。

(2) 与其他 delta tuning方法相比,Prompt Tuning 往往对小规模 PLM(T5-small 和 T5-base)性能比较差。

(3) Last Layer Tuning (只微调 T5 encoder 的最后一层)和Selective Module Tuning(随机选择 T5 模型中的部分模块进行微调)这两种方法都表现出优异的效果。

 

有研究发现 ,随着使用的 PLM 的模型规模增长,Prompt Tuning 的性能会越来越强,甚至可以达到和全参数 Fine-tuning 微调相匹敌的水平。

实验结论:将可微调的参数限制在某个特定层内可能不是一个好的策略。

另一方面,当 PLM 的规模变得非常大时,跨不同层随机选择模块来微调可以实现出色的性能。总的来说,上述结果表明,随着 PLM 模型规模的增长,各种微调方法的性能 / 收敛速度得到显著提升可能是 Delta Tuning 的常见现象

研究者猜测这种现象的存在是因为,较大的 PLM 通常具有较小的本征维度(Intrinsic Dimension),因此,仅调整很少的参数即可获得足够强的表示能力,从而在下游任务中实现非平凡的性能;此外,过参数化的模型可能在下游优化过程中更不容易陷入局部最优,从而加速收敛。

任务级的可移植性分析

基于已经被证明了的:prompt tuning具有跨任务可转移性,本文验证了跨任务可转移性是否也存在于各种delta tuning方法中。具体而言,本文研究了四种delta tuning方法(提示调优、前缀调优、适配器和LoRA)和5种不同类型的12个任务(情感分析、自然语言推理、意译识别、问题回答、摘要),将训练好的增量参数转移到未知的目标任务中。

image-20240923172200368

图12. delta tuning可移植性分析

(1) 对于同一类别的任务,在它们之间传递调优参数的效果一般较好;

(2) 对于不同类型的任务,在任务之间传递delta参数的效果普遍较差;

(3) 从文本生成任务(如问答和摘要)中转移调优参数可以在情感分析上取得非凡的性能,这表明文本生成任务可能是一个更复杂的任务,其中包含解决情感分析任务所需的知识。

这些结果也验证了之前引入的各种任务之间的一些公共子空间,并表明通过知识转移将训练好的delta参数用于类似任务是有希望的。

应用

快速训练与存储空间节省

尽管delta tuning的收敛速度可能比传统的全参数微调慢,但随着反向传播期间可微调参数的计算量显著减少,delta tuning 的训练速度也得到了显著提升。

另外,由于轻量的特性,训练得到的 Delta 参数还可以节省存储空间,从而方便在从业者之间共享,促进知识迁移。

多任务学习

Delta Tuning 具有出色的多任务学习能力,同时保持相对较低的额外存储。另外,由于 delta tuning 仅调整最小参数,因此它可能是减轻灾难性遗忘问题的潜在解决方案。

中心化模型服务与并行计算

超大型 PLMs 通常作为服务发布,即用户通过与模型提供者公布的 API 交互来使用大模型,这当中通信成本是很高的。

由于delta tuning轻量级的特性,服务提供者可以在消耗更少的计算和存储空间的同时,支持训练多个用户所需的下游任务。此外,一些 Delta Tuning 算法本质上是可并行的(例如 Prompt Tuning 和 Prefix-Tuning 等),因此 Delta Tuning 可以允许在同一个 batch 中并行训练 / 测试来自多个用户的样本(In-batch Parallel Computing)。

 

总结

这篇文章给出了一个全新的术语——delta tuning,对以往研究的一系列参数高效微调方法进行了分类与定义,并且通过实验分析了delta tuning方法的性能表现、收敛表现、高效性表现、泛化表现、迁移性表现,以及随模型规模增长的性能表现。对今后将大模型适配到特定下游任务这一过程,给出了更加高效的实现方法。

参考博文

  1. Delta Tuning(我理解的是微量调整)

    点评:★★★★☆,其实这个博文主要参考了博文3,所以,这个评价至少有一大半是博文3的功劳。帮助我们大概了解了 Delta Tuning 的一些基本知识。

  2. Delta Tuning: A Comprehensive Study of Parameter Efficient Methods for Pre-trained Language Models

    点评:★★★★★,to be honest, 这篇文章很长,但是很多地方解释得很到位。如果看博文能看到这样的,基本上1篇也就够了!

  3. 揭秘大模型背后的机理,清华49页长文全方位分析参数高效微调方案Delta Tuning

    有了第2篇博文,这篇也在第1篇里提到了,所以这篇没有看!如果以后用到了,可以再看看!

 

 

博文免责声明

  1. 本条博文信息主要整合自网络,部分内容为自己的理解写出来的,如有断章截句导致不正确或因个人水平有限未能详尽正确描述的地方,敬请各位读者指正;

  2. 引用出处可能没有完全追溯到原始来源,如因此冒犯到原创作者,请联系本人更正/删除;

  3. 博文的发布主要用于自我学习,其次希望帮助到有共同疑惑的朋友。

欢迎随时联系讨论,一起成长进步。

 


1 Ding N, Qin Y, Yang G, et al. Delta tuning: A comprehensive study of parameter efficient methods for pre-trained language models[J]. arXiv preprint arXiv:2203.06904, 2022.